#彻底明白了
class Person:
    def setName(self,name):
        self.__name=name
    def getName(self):
        return self.__name

p=Person()
p.sex="女"
#动态添加一个属性,自动调用setattr方法
print(dir(p))

#因为name属性是私有化的所以正常访问不了，例如
p.setName("张三")
#直接访问张三name,报错
#print(p.name)
#动态添加一个属性,自动调用setattr方法
print(dir(p))

#但是可以通过如下方式访问，此时访问的是self.__name相当于_Person__name
print(p.getName())
print(p._Person__name)